package commonClass.date;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;

public class DateDemo {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		dateFormat();
		simpleDateFormat();
	}
	
	public static void dateFormat(){
		Date date=new Date();
		System.out.println("当前日期为:"+date);
		
		//用于格式化，Format的子类，抽象类
		DateFormat df1=DateFormat.getDateInstance();
		DateFormat df2=DateFormat.getDateTimeInstance();
		System.out.println("DATE:"+df1.format(date));
		System.out.println("DATETIME:"+df2.format(date));
		
		//设置日期和时间的显示风格
		df1=DateFormat.getDateInstance(DateFormat.YEAR_FIELD, new Locale("zh","CN"));
		df2=DateFormat.getDateTimeInstance(DateFormat.YEAR_FIELD,DateFormat.ERA_FIELD, new Locale("zh","CN"));
		System.out.println("DATE:"+df1.format(date));
		System.out.println("DATETIME:"+df2.format(date));
	}
	
	/**
	 * SimpleDateFormat类经常用于将String变成Date型数据
	 */
	public static void simpleDateFormat(){
		String strDate="2008-10-19 10:11:30.345";
		//第一个模板从字符串中提取日期数字
		String part1="yyyy-MM-dd HH:mm:ss.SSS";
		//第二个模板将提前的日期数字变成指定的格式
		String part2="yyyy年MM月dd日 HH时mm分ss秒SSS毫秒";
		
		SimpleDateFormat sdf1=new SimpleDateFormat(part1);
		SimpleDateFormat sdf2=new SimpleDateFormat(part2);
		Date d=null;
		try {
			d=sdf1.parse(strDate);
			System.out.println(d);//字符串中提取日期数字
		} catch (ParseException e) {
			e.printStackTrace();
		}
		System.out.println(sdf2.format(d));
	}

}
